<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
// บรรทัดบนสุดเขียนเพื่อไม่ให้ access ตรงๆ เท่านั้น ต้อง access ผ่าน CI
/**
| ==========================================================
| mylib  เป็น libraries สำหรับบริการ ต่างๆ ที่เป็นส่วนกลางจริงๆ
|   	มี function ต่างๆดังนี้
|		1.) checkAutho($userName,$curMenu)
|       2.)  sessMess($iname,$mess)
|       3.)  loadMenubar($userName)
|	    4.)  checkSessionData()
|       5.) getNow()
|       6.) getDate()
|       7.) getDateAfter($day) 
|       8.) getNullDate() ,1970-01-01
| ==========================================================
*/
class Mylib {
    var  $CI ='';

	function Mylib() {
		$this->CI =& get_instance();// ดึงค่า instance ออกมาใช้งาน ใน mylib นี้
	}
/**
|-----------------------------------------------------------------------------------------------------------
|  8.)   getNullDate()   function 
|      ส่งค่า '1970-01-01' กลับไป เป็น null date ของ pgsql database
|-----------------------------------------------------------------------------------------------------------
*/	function  getNullDate() {
		return '01-01-1970';
	}
/**
|-----------------------------------------------------------------------------------------------------------
|  7.)  getDateAfter($day)   function 
|      $day เป็นตัวเลขของจำนวนวันที่นับถอยหลังไป
|-----------------------------------------------------------------------------------------------------------
*/	function  getDateAfter($day)  {
		$now           =  getdate();
		$date_sub7  =  date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$day,date("Y") )  );
		return $date_sub7;
	}
	
/**
|-----------------------------------------------------------------------------------------------------------
|  6.)  getToday()   function 
|-----------------------------------------------------------------------------------------------------------
*/	function  getDate()  {
		$now           =  getdate();
		$now_date   = "$now[year]-$now[mon]-$now[mday]";
		return $now_date;
	}
	
/**
|-----------------------------------------------------------------------------------------------------------
|  5.)  getToday()   function 
|-----------------------------------------------------------------------------------------------------------
*/	function  getNow()  {
		$now    = getdate();
		$now_date="$now[mday]-$now[mon]-$now[year] $now[hours]:$now[minutes]:$now[seconds]";
	     return $now_date;
    }	
/**
|-----------------------------------------------------------------------------------------------------------
|  4.)  checkSessionData()   function 
|-----------------------------------------------------------------------------------------------------------
*/	function  checkSessionData() {
          if  ( $this->CI->session->userdata('loginInfo')==FALSE) {
		        log_message('info','มีคนพยายามเรียก control  "'.$this->CI->uri->uri_string()
					.'" โดยตรง จาก ip : '. $this->CI->input->ip_address());
				//echo 	$this->CI->uri->uri_string();
				$this->CI->session->set_userdata('lastUri',$this->CI->uri->uri_string() );			
 				redirect('/main_cont/login');
		  } 
		  return;
	}	  
/**
|-----------------------------------------------------------------------------------------------------------
|  3.)  loadMenubar($userName)   function 
|-----------------------------------------------------------------------------------------------------------
*/	function  loadMenubar($userName,$curMenu) {
		 $this->CI->load->Model('login_model');
	     $menus =  $this->CI->login_model->loadMenubar($userName,$curMenu);
		 foreach ($menus as $key => $menu) {
    		$menus[$key] = substr(base_url(),0,-1).($menu);
		 }
		  return  $menus;
	 }
	 
/**
|-----------------------------------------------------------------------------------------------------------
| 2.)  sessMess($iname,$mess)   function 
|-----------------------------------------------------------------------------------------------------------
*/	function  sessMess($iname,$mess)  {
		$this->session->set_userdata($iname,$mess);
    }


/**
|-----------------------------------------------------------------------------------------------------------
| 1.) checkAutho($userName,$curMenu)   function 
|-----------------------------------------------------------------------------------------------------------
*/	function  checkAutho($userName,$curMenu) {
 		 $this->CI->load->Model('login_model');
	     if  ($this->CI->login_model->checkAuthe($userName,$curMenu)) {
		 		log_message('info', 'user : '.$userName.' login ok. .');
				$this->CI->session->unset_userdata('lastUri');
		 } else {
		 		log_message('info', 'user : '.$userName.' login fali. .');
 	    	    $this->CI->session->set_userdata('noticeMess',"คุณมีสิทธิไม่พอกับงาน  กรุณา login ด้วย user ใหม่อีกครั้ง ..");
			    $this->CI->session->set_userdata('lastUri',uri_string());
		 		log_message('info', 'lastUri : '.$this->CI->session->userdata('lastUri'));
     			redirect('/main_cont/login/');
		 }
	 }
	 
	 
}
?>